<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Secure Sockets: Macros</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="cypress_logo.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Secure Sockets</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__group__secure__sockets__macros.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a> &#124;
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle"><div class="title">Macros<div class="ingroups"><a class="el" href="group__group__secure__sockets.html">Secure Sockets API</a></div></div></div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__group__secure__sockets__results"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__results.html">Secure Sockets results/error codes</a></td></tr>
<tr class="memdesc:group__group__secure__sockets__results"><td class="mdescLeft">&#160;</td><td class="mdescRight">Secure Sockets Library APIs return results of type cy_rslt_t and consist of three parts: <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaa57a6dace448754bffd34e9dd7b1d6f5"><td class="memItemLeft" align="right" valign="top"><a id="gaa57a6dace448754bffd34e9dd7b1d6f5" name="gaa57a6dace448754bffd34e9dd7b1d6f5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_INVALID_HANDLE</b>&#160;&#160;&#160;( ( <a class="el" href="group__group__secure__sockets__typedefs.html#ga12b5aa294d6c930ba50ab730d39ed511">cy_socket_t</a> ) ~0U )</td></tr>
<tr class="memdesc:gaa57a6dace448754bffd34e9dd7b1d6f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigned to a <a class="el" href="group__group__secure__sockets__typedefs.html#ga12b5aa294d6c930ba50ab730d39ed511">cy_socket_t</a> variable when the socket handle is not valid. <br /></td></tr>
<tr class="separator:gaa57a6dace448754bffd34e9dd7b1d6f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f46c16c6c8831febc8f13af7532fccc"><td class="memItemLeft" align="right" valign="top"><a id="ga9f46c16c6c8831febc8f13af7532fccc" name="ga9f46c16c6c8831febc8f13af7532fccc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>DEFAULT_RECV_TIMEOUT_IN_MSEC</b>&#160;&#160;&#160;10000</td></tr>
<tr class="memdesc:ga9f46c16c6c8831febc8f13af7532fccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default socket receive timeout value, in milliseconds. <br /></td></tr>
<tr class="separator:ga9f46c16c6c8831febc8f13af7532fccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87671ef56090d75c32706e41f6fade69"><td class="memItemLeft" align="right" valign="top"><a id="ga87671ef56090d75c32706e41f6fade69" name="ga87671ef56090d75c32706e41f6fade69"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>DEFAULT_SEND_TIMEOUT_IN_MSEC</b>&#160;&#160;&#160;10000</td></tr>
<tr class="memdesc:ga87671ef56090d75c32706e41f6fade69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default socket send timeout value, in milliseconds. <br /></td></tr>
<tr class="separator:ga87671ef56090d75c32706e41f6fade69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78a785b81acf34f704c9a4256554e5ce"><td class="memItemLeft" align="right" valign="top"><a id="ga78a785b81acf34f704c9a4256554e5ce" name="ga78a785b81acf34f704c9a4256554e5ce"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ARP_WAIT_TIME_IN_MSEC</b>&#160;&#160;&#160;30000</td></tr>
<tr class="memdesc:ga78a785b81acf34f704c9a4256554e5ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum time in milliseconds the <a class="el" href="group__group__secure__sockets__functions.html#ga4bc4e8aed9916206f073cb22cf4009cc">cy_socket_sendto</a> function waits for MAC address-to-IP address resolution. <br /></td></tr>
<tr class="separator:ga78a785b81acf34f704c9a4256554e5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc301fb73845cb915cfacffc1b7d0c23"><td class="memItemLeft" align="right" valign="top"><a id="gacc301fb73845cb915cfacffc1b7d0c23" name="gacc301fb73845cb915cfacffc1b7d0c23"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_DOMAIN_AF_INET</b>&#160;&#160;&#160;( 2 )</td></tr>
<tr class="memdesc:gacc301fb73845cb915cfacffc1b7d0c23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Domain option for <a class="el" href="group__group__secure__sockets__functions.html#ga30bbbf20a277e2a7e622df504b014a4b">cy_socket_create()</a> - IPv4 internet protocols. <br /></td></tr>
<tr class="separator:gacc301fb73845cb915cfacffc1b7d0c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2d04e27350109a0084d8ea90eb24a27"><td class="memItemLeft" align="right" valign="top"><a id="gaa2d04e27350109a0084d8ea90eb24a27" name="gaa2d04e27350109a0084d8ea90eb24a27"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_DOMAIN_AF_INET6</b>&#160;&#160;&#160;( 10 )</td></tr>
<tr class="memdesc:gaa2d04e27350109a0084d8ea90eb24a27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Domain option for <a class="el" href="group__group__secure__sockets__functions.html#ga30bbbf20a277e2a7e622df504b014a4b">cy_socket_create()</a> - IPv6 internet protocols. <br /></td></tr>
<tr class="separator:gaa2d04e27350109a0084d8ea90eb24a27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ea5c6f97612e469393306ddefc38657"><td class="memItemLeft" align="right" valign="top"><a id="ga9ea5c6f97612e469393306ddefc38657" name="ga9ea5c6f97612e469393306ddefc38657"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_TYPE_DGRAM</b>&#160;&#160;&#160;( 2 )</td></tr>
<tr class="memdesc:ga9ea5c6f97612e469393306ddefc38657"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type parameter for <a class="el" href="group__group__secure__sockets__functions.html#ga30bbbf20a277e2a7e622df504b014a4b">cy_socket_create()</a> - Datagram. <br /></td></tr>
<tr class="separator:ga9ea5c6f97612e469393306ddefc38657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0610ba6e8fe01ccbaacf89145f9285a"><td class="memItemLeft" align="right" valign="top"><a id="gac0610ba6e8fe01ccbaacf89145f9285a" name="gac0610ba6e8fe01ccbaacf89145f9285a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_TYPE_STREAM</b>&#160;&#160;&#160;( 1 )</td></tr>
<tr class="memdesc:gac0610ba6e8fe01ccbaacf89145f9285a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type parameter for <a class="el" href="group__group__secure__sockets__functions.html#ga30bbbf20a277e2a7e622df504b014a4b">cy_socket_create()</a> - Byte-stream. <br /></td></tr>
<tr class="separator:gac0610ba6e8fe01ccbaacf89145f9285a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c6d23edbc333c85d3e7a8702dcf22a1"><td class="memItemLeft" align="right" valign="top"><a id="ga1c6d23edbc333c85d3e7a8702dcf22a1" name="ga1c6d23edbc333c85d3e7a8702dcf22a1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_IPPROTO_TCP</b>&#160;&#160;&#160;( 1 )</td></tr>
<tr class="memdesc:ga1c6d23edbc333c85d3e7a8702dcf22a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protocol option for <a class="el" href="group__group__secure__sockets__functions.html#ga30bbbf20a277e2a7e622df504b014a4b">cy_socket_create()</a> - TCP. <br /></td></tr>
<tr class="separator:ga1c6d23edbc333c85d3e7a8702dcf22a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bbff715a00d6ce5ff669b12a75c7441"><td class="memItemLeft" align="right" valign="top"><a id="ga2bbff715a00d6ce5ff669b12a75c7441" name="ga2bbff715a00d6ce5ff669b12a75c7441"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_IPPROTO_UDP</b>&#160;&#160;&#160;( 2 )</td></tr>
<tr class="memdesc:ga2bbff715a00d6ce5ff669b12a75c7441"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protocol option for <a class="el" href="group__group__secure__sockets__functions.html#ga30bbbf20a277e2a7e622df504b014a4b">cy_socket_create()</a> - UDP. <br /></td></tr>
<tr class="separator:ga2bbff715a00d6ce5ff669b12a75c7441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1114a6ecf098cf499e2c9ad3d651efc3"><td class="memItemLeft" align="right" valign="top"><a id="ga1114a6ecf098cf499e2c9ad3d651efc3" name="ga1114a6ecf098cf499e2c9ad3d651efc3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_IPPROTO_TLS</b>&#160;&#160;&#160;( 3 )</td></tr>
<tr class="memdesc:ga1114a6ecf098cf499e2c9ad3d651efc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protocol option for <a class="el" href="group__group__secure__sockets__functions.html#ga30bbbf20a277e2a7e622df504b014a4b">cy_socket_create()</a> - TLS. <br /></td></tr>
<tr class="separator:ga1114a6ecf098cf499e2c9ad3d651efc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf36b6f0f1bc53927d148746fedad7149"><td class="memItemLeft" align="right" valign="top"><a id="gaf36b6f0f1bc53927d148746fedad7149" name="gaf36b6f0f1bc53927d148746fedad7149"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_SOL_SOCKET</b>&#160;&#160;&#160;( 1 )</td></tr>
<tr class="memdesc:gaf36b6f0f1bc53927d148746fedad7149"><td class="mdescLeft">&#160;</td><td class="mdescRight">Level option for <a class="el" href="group__group__secure__sockets__functions.html#ga02e453d715d77075c59d751f6b07ae8f">cy_socket_setsockopt()</a> - Socket-level option. <br /></td></tr>
<tr class="separator:gaf36b6f0f1bc53927d148746fedad7149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab245bb6040c3f680cc38e39e9e3a97d7"><td class="memItemLeft" align="right" valign="top"><a id="gab245bb6040c3f680cc38e39e9e3a97d7" name="gab245bb6040c3f680cc38e39e9e3a97d7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_SOL_TCP</b>&#160;&#160;&#160;( 2 )</td></tr>
<tr class="memdesc:gab245bb6040c3f680cc38e39e9e3a97d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Level option for <a class="el" href="group__group__secure__sockets__functions.html#ga02e453d715d77075c59d751f6b07ae8f">cy_socket_setsockopt()</a> - TCP protocol-level option. <br /></td></tr>
<tr class="separator:gab245bb6040c3f680cc38e39e9e3a97d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87878a7761a845f17f24f5e52c73f61f"><td class="memItemLeft" align="right" valign="top"><a id="ga87878a7761a845f17f24f5e52c73f61f" name="ga87878a7761a845f17f24f5e52c73f61f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_SOL_TLS</b>&#160;&#160;&#160;( 3 )</td></tr>
<tr class="memdesc:ga87878a7761a845f17f24f5e52c73f61f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Level option for <a class="el" href="group__group__secure__sockets__functions.html#ga02e453d715d77075c59d751f6b07ae8f">cy_socket_setsockopt()</a> - TLS protocol-level option. <br /></td></tr>
<tr class="separator:ga87878a7761a845f17f24f5e52c73f61f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6158e1e598a55be5e42d5db5f921d13e"><td class="memItemLeft" align="right" valign="top"><a id="ga6158e1e598a55be5e42d5db5f921d13e" name="ga6158e1e598a55be5e42d5db5f921d13e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_SOL_IP</b>&#160;&#160;&#160;( 4 )</td></tr>
<tr class="memdesc:ga6158e1e598a55be5e42d5db5f921d13e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Level option for <a class="el" href="group__group__secure__sockets__functions.html#ga02e453d715d77075c59d751f6b07ae8f">cy_socket_setsockopt()</a> - IP protocol-level option. <br /></td></tr>
<tr class="separator:ga6158e1e598a55be5e42d5db5f921d13e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fcbd0b7ab0d808a7d0a88eaffe04e00"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga1fcbd0b7ab0d808a7d0a88eaffe04e00">CY_SOCKET_SO_RCVTIMEO</a>&#160;&#160;&#160;( 0 )</td></tr>
<tr class="memdesc:ga1fcbd0b7ab0d808a7d0a88eaffe04e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the receive timeout in milliseconds.  <a href="group__group__secure__sockets__macros.html#ga1fcbd0b7ab0d808a7d0a88eaffe04e00">More...</a><br /></td></tr>
<tr class="separator:ga1fcbd0b7ab0d808a7d0a88eaffe04e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d99d154509bf7293f13ac97b7fd5b68"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga6d99d154509bf7293f13ac97b7fd5b68">CY_SOCKET_SO_SNDTIMEO</a>&#160;&#160;&#160;( 1 )</td></tr>
<tr class="memdesc:ga6d99d154509bf7293f13ac97b7fd5b68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the send timeout in milliseconds.  <a href="group__group__secure__sockets__macros.html#ga6d99d154509bf7293f13ac97b7fd5b68">More...</a><br /></td></tr>
<tr class="separator:ga6d99d154509bf7293f13ac97b7fd5b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87ddcdfd412485a722122a56495e46c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga87ddcdfd412485a722122a56495e46c6">CY_SOCKET_SO_NONBLOCK</a>&#160;&#160;&#160;( 2 )</td></tr>
<tr class="memdesc:ga87ddcdfd412485a722122a56495e46c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the blocking status of socket API function calls.  <a href="group__group__secure__sockets__macros.html#ga87ddcdfd412485a722122a56495e46c6">More...</a><br /></td></tr>
<tr class="separator:ga87ddcdfd412485a722122a56495e46c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53ca01abc49daa408f8785feb114b5f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga53ca01abc49daa408f8785feb114b5f1">CY_SOCKET_SO_TCP_KEEPALIVE_ENABLE</a>&#160;&#160;&#160;( 3 )</td></tr>
<tr class="memdesc:ga53ca01abc49daa408f8785feb114b5f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable the TCP keepalive mechanism on the socket.  <a href="group__group__secure__sockets__macros.html#ga53ca01abc49daa408f8785feb114b5f1">More...</a><br /></td></tr>
<tr class="separator:ga53ca01abc49daa408f8785feb114b5f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35dd20206a7d72552a8d14802142a277"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga35dd20206a7d72552a8d14802142a277">CY_SOCKET_SO_TCP_KEEPALIVE_INTERVAL</a>&#160;&#160;&#160;( 4 )</td></tr>
<tr class="memdesc:ga35dd20206a7d72552a8d14802142a277"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the interval in milliseconds between TCP keepalive probes.  <a href="group__group__secure__sockets__macros.html#ga35dd20206a7d72552a8d14802142a277">More...</a><br /></td></tr>
<tr class="separator:ga35dd20206a7d72552a8d14802142a277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6dac9d634c0ba0cfee63027dec8f7497"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga6dac9d634c0ba0cfee63027dec8f7497">CY_SOCKET_SO_TCP_KEEPALIVE_COUNT</a>&#160;&#160;&#160;( 5 )</td></tr>
<tr class="memdesc:ga6dac9d634c0ba0cfee63027dec8f7497"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum number of TCP keepalive probes to be sent before giving up and killing the connection if no response is obtained from the other end.  <a href="group__group__secure__sockets__macros.html#ga6dac9d634c0ba0cfee63027dec8f7497">More...</a><br /></td></tr>
<tr class="separator:ga6dac9d634c0ba0cfee63027dec8f7497"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac536732ce0003c81a088654c90a0d2a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gac536732ce0003c81a088654c90a0d2a4">CY_SOCKET_SO_TCP_KEEPALIVE_IDLE_TIME</a>&#160;&#160;&#160;( 6 )</td></tr>
<tr class="memdesc:gac536732ce0003c81a088654c90a0d2a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the duration for which the connection needs to be idle (in milliseconds) before TCP begins sending out keepalive probes.  <a href="group__group__secure__sockets__macros.html#gac536732ce0003c81a088654c90a0d2a4">More...</a><br /></td></tr>
<tr class="separator:gac536732ce0003c81a088654c90a0d2a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fd0bff2f890ddab81f7847a1862c325"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga7fd0bff2f890ddab81f7847a1862c325">CY_SOCKET_SO_CONNECT_REQUEST_CALLBACK</a>&#160;&#160;&#160;( 7 )</td></tr>
<tr class="memdesc:ga7fd0bff2f890ddab81f7847a1862c325"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the callback to be called upon an incoming client connection request.  <a href="group__group__secure__sockets__macros.html#ga7fd0bff2f890ddab81f7847a1862c325">More...</a><br /></td></tr>
<tr class="separator:ga7fd0bff2f890ddab81f7847a1862c325"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa05dc49b1682f0682d1a4066c641512d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gaa05dc49b1682f0682d1a4066c641512d">CY_SOCKET_SO_RECEIVE_CALLBACK</a>&#160;&#160;&#160;( 8 )</td></tr>
<tr class="memdesc:gaa05dc49b1682f0682d1a4066c641512d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the callback to be called when the socket has received data.  <a href="group__group__secure__sockets__macros.html#gaa05dc49b1682f0682d1a4066c641512d">More...</a><br /></td></tr>
<tr class="separator:gaa05dc49b1682f0682d1a4066c641512d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a3e35fbb5f577a38a6eafb7d693134a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga4a3e35fbb5f577a38a6eafb7d693134a">CY_SOCKET_SO_DISCONNECT_CALLBACK</a>&#160;&#160;&#160;( 9 )</td></tr>
<tr class="memdesc:ga4a3e35fbb5f577a38a6eafb7d693134a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the callback to be called when the socket is disconnected.  <a href="group__group__secure__sockets__macros.html#ga4a3e35fbb5f577a38a6eafb7d693134a">More...</a><br /></td></tr>
<tr class="separator:ga4a3e35fbb5f577a38a6eafb7d693134a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac16c4875566176015ef0769b8950f62a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gac16c4875566176015ef0769b8950f62a">CY_SOCKET_SO_NWRITE</a>&#160;&#160;&#160;( 10 )</td></tr>
<tr class="memdesc:gac16c4875566176015ef0769b8950f62a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes pending to be sent by the protocol.  <a href="group__group__secure__sockets__macros.html#gac16c4875566176015ef0769b8950f62a">More...</a><br /></td></tr>
<tr class="separator:gac16c4875566176015ef0769b8950f62a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2427b8a6b4a20aca2232c6874ff6867b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga2427b8a6b4a20aca2232c6874ff6867b">CY_SOCKET_SO_TCP_USER_TIMEOUT</a>&#160;&#160;&#160;( 11 )</td></tr>
<tr class="memdesc:ga2427b8a6b4a20aca2232c6874ff6867b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the user timeout value that controls the duration transmitted data may remain unacknowledged before a connection is forcefully closed.  <a href="group__group__secure__sockets__macros.html#ga2427b8a6b4a20aca2232c6874ff6867b">More...</a><br /></td></tr>
<tr class="separator:ga2427b8a6b4a20aca2232c6874ff6867b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5bdbb8938476af809b4af8f5f7c2da2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga5bdbb8938476af809b4af8f5f7c2da2d">CY_SOCKET_SO_TRUSTED_ROOTCA_CERTIFICATE</a>&#160;&#160;&#160;( 12 )</td></tr>
<tr class="memdesc:ga5bdbb8938476af809b4af8f5f7c2da2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a RootCA certificate specific to the socket, in PEM format.  <a href="group__group__secure__sockets__macros.html#ga5bdbb8938476af809b4af8f5f7c2da2d">More...</a><br /></td></tr>
<tr class="separator:ga5bdbb8938476af809b4af8f5f7c2da2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa0ac839774a33feeb037dbb0c449cc3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gafa0ac839774a33feeb037dbb0c449cc3">CY_SOCKET_SO_TLS_IDENTITY</a>&#160;&#160;&#160;( 13 )</td></tr>
<tr class="memdesc:gafa0ac839774a33feeb037dbb0c449cc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the TLS identity.  <a href="group__group__secure__sockets__macros.html#gafa0ac839774a33feeb037dbb0c449cc3">More...</a><br /></td></tr>
<tr class="separator:gafa0ac839774a33feeb037dbb0c449cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3f2b7a10cc58ae014640a8547949974"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gaa3f2b7a10cc58ae014640a8547949974">CY_SOCKET_SO_SERVER_NAME_INDICATION</a>&#160;&#160;&#160;( 14 )</td></tr>
<tr class="memdesc:gaa3f2b7a10cc58ae014640a8547949974"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the hostname to be used for the TLS server name indication (SNI) extension of TLS ClientHello.  <a href="group__group__secure__sockets__macros.html#gaa3f2b7a10cc58ae014640a8547949974">More...</a><br /></td></tr>
<tr class="separator:gaa3f2b7a10cc58ae014640a8547949974"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6bb302019f176eed7e436157fbc085f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga6bb302019f176eed7e436157fbc085f6">CY_SOCKET_SO_ALPN_PROTOCOLS</a>&#160;&#160;&#160;( 15 )</td></tr>
<tr class="memdesc:ga6bb302019f176eed7e436157fbc085f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the application protocol list to be included in TLS ClientHello.  <a href="group__group__secure__sockets__macros.html#ga6bb302019f176eed7e436157fbc085f6">More...</a><br /></td></tr>
<tr class="separator:ga6bb302019f176eed7e436157fbc085f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ce4ab8fca2ff7306f05f7433835f394"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga9ce4ab8fca2ff7306f05f7433835f394">CY_SOCKET_SO_TLS_AUTH_MODE</a>&#160;&#160;&#160;( 16 )</td></tr>
<tr class="memdesc:ga9ce4ab8fca2ff7306f05f7433835f394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the TLS authenticate mode.  <a href="group__group__secure__sockets__macros.html#ga9ce4ab8fca2ff7306f05f7433835f394">More...</a><br /></td></tr>
<tr class="separator:ga9ce4ab8fca2ff7306f05f7433835f394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0f0041158626e01c411e117ca6e2c5d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga0f0041158626e01c411e117ca6e2c5d5">CY_SOCKET_SO_TLS_MFL</a>&#160;&#160;&#160;( 17 )</td></tr>
<tr class="memdesc:ga0f0041158626e01c411e117ca6e2c5d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the TLS maximum fragment length.  <a href="group__group__secure__sockets__macros.html#ga0f0041158626e01c411e117ca6e2c5d5">More...</a><br /></td></tr>
<tr class="separator:ga0f0041158626e01c411e117ca6e2c5d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6eb3fccf457611f775c37e58442449b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga6eb3fccf457611f775c37e58442449b3">CY_SOCKET_SO_JOIN_MULTICAST_GROUP</a>&#160;&#160;&#160;( 18 )</td></tr>
<tr class="memdesc:ga6eb3fccf457611f775c37e58442449b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Join an IPv4 (or) IPv6 multicast group.  <a href="group__group__secure__sockets__macros.html#ga6eb3fccf457611f775c37e58442449b3">More...</a><br /></td></tr>
<tr class="separator:ga6eb3fccf457611f775c37e58442449b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3b9e9b88b1affecbb653fb1375771e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gaa3b9e9b88b1affecbb653fb1375771e3">CY_SOCKET_SO_LEAVE_MULTICAST_GROUP</a>&#160;&#160;&#160;( 19 )</td></tr>
<tr class="memdesc:gaa3b9e9b88b1affecbb653fb1375771e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Leave an IPv4 (or) IPv6 multicast group.  <a href="group__group__secure__sockets__macros.html#gaa3b9e9b88b1affecbb653fb1375771e3">More...</a><br /></td></tr>
<tr class="separator:gaa3b9e9b88b1affecbb653fb1375771e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac562af7498a20fba804f7d14ce8a059c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gac562af7498a20fba804f7d14ce8a059c">CY_SOCKET_SO_IP_MULTICAST_TTL</a>&#160;&#160;&#160;( 20 )</td></tr>
<tr class="memdesc:gac562af7498a20fba804f7d14ce8a059c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the time-to-live value of outgoing multicast packets for this socket.  <a href="group__group__secure__sockets__macros.html#gac562af7498a20fba804f7d14ce8a059c">More...</a><br /></td></tr>
<tr class="separator:gac562af7498a20fba804f7d14ce8a059c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed20b264dc3c370f3136ef8923f5ad89"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gaed20b264dc3c370f3136ef8923f5ad89">CY_SOCKET_SO_BROADCAST</a>&#160;&#160;&#160;( 21 )</td></tr>
<tr class="memdesc:gaed20b264dc3c370f3136ef8923f5ad89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable sending and receiving broadcast messages on the socket.  <a href="group__group__secure__sockets__macros.html#gaed20b264dc3c370f3136ef8923f5ad89">More...</a><br /></td></tr>
<tr class="separator:gaed20b264dc3c370f3136ef8923f5ad89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bcc73d3e5fd22f8cceb98f57507703d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga9bcc73d3e5fd22f8cceb98f57507703d">CY_SOCKET_SO_BINDTODEVICE</a>&#160;&#160;&#160;( 22 )</td></tr>
<tr class="memdesc:ga9bcc73d3e5fd22f8cceb98f57507703d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the network interface to be used for sending and receiving data on the socket.  <a href="group__group__secure__sockets__macros.html#ga9bcc73d3e5fd22f8cceb98f57507703d">More...</a><br /></td></tr>
<tr class="separator:ga9bcc73d3e5fd22f8cceb98f57507703d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacaf74e4db4c47e33cf258b1e83c4f3eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gacaf74e4db4c47e33cf258b1e83c4f3eb">CY_SOCKET_SO_IP_TOS</a>&#160;&#160;&#160;( 23 )</td></tr>
<tr class="memdesc:gacaf74e4db4c47e33cf258b1e83c4f3eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Type-Of-Service (TOS) field that is sent with every IP packet originating from this socket.  <a href="group__group__secure__sockets__macros.html#gacaf74e4db4c47e33cf258b1e83c4f3eb">More...</a><br /></td></tr>
<tr class="separator:gacaf74e4db4c47e33cf258b1e83c4f3eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga249a390f7ea3ad7f8db90bac96cd0357"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga249a390f7ea3ad7f8db90bac96cd0357">CY_SOCKET_SO_BYTES_AVAILABLE</a>&#160;&#160;&#160;( 24 )</td></tr>
<tr class="memdesc:ga249a390f7ea3ad7f8db90bac96cd0357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of bytes immediately available for reading.  <a href="group__group__secure__sockets__macros.html#ga249a390f7ea3ad7f8db90bac96cd0357">More...</a><br /></td></tr>
<tr class="separator:ga249a390f7ea3ad7f8db90bac96cd0357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace8deb2d476b5a1bf57d1fffbdbc36d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gace8deb2d476b5a1bf57d1fffbdbc36d0">CY_SOCKET_SO_TCP_NODELAY</a>&#160;&#160;&#160;( 25 )</td></tr>
<tr class="memdesc:gace8deb2d476b5a1bf57d1fffbdbc36d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable TCP no delay socket option.  <a href="group__group__secure__sockets__macros.html#gace8deb2d476b5a1bf57d1fffbdbc36d0">More...</a><br /></td></tr>
<tr class="separator:gace8deb2d476b5a1bf57d1fffbdbc36d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22b4a6f9f25c1815f016dcc7ceb17a16"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga22b4a6f9f25c1815f016dcc7ceb17a16">CY_SOCKET_SO_LOCALADDR</a>&#160;&#160;&#160;( 26 )</td></tr>
<tr class="memdesc:ga22b4a6f9f25c1815f016dcc7ceb17a16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the local address details for the socket.  <a href="group__group__secure__sockets__macros.html#ga22b4a6f9f25c1815f016dcc7ceb17a16">More...</a><br /></td></tr>
<tr class="separator:ga22b4a6f9f25c1815f016dcc7ceb17a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d1184c6afa6cfe38f27dd22d8dc9e6e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga8d1184c6afa6cfe38f27dd22d8dc9e6e">CY_SOCKET_SO_PEERADDR</a>&#160;&#160;&#160;( 27 )</td></tr>
<tr class="memdesc:ga8d1184c6afa6cfe38f27dd22d8dc9e6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the peer address details for the socket.  <a href="group__group__secure__sockets__macros.html#ga8d1184c6afa6cfe38f27dd22d8dc9e6e">More...</a><br /></td></tr>
<tr class="separator:ga8d1184c6afa6cfe38f27dd22d8dc9e6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf28eb4b38ee21e41c56f26cae8431439"><td class="memItemLeft" align="right" valign="top"><a id="gaf28eb4b38ee21e41c56f26cae8431439" name="gaf28eb4b38ee21e41c56f26cae8431439"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_ROOTCA_SECURE_STORAGE</b>&#160;&#160;&#160;( 0x0 )</td></tr>
<tr class="memdesc:gaf28eb4b38ee21e41c56f26cae8431439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use RootCA certificate which is provisioned. <br /></td></tr>
<tr class="separator:gaf28eb4b38ee21e41c56f26cae8431439"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8b81ff302c2c897b9b2093434a2cab3"><td class="memItemLeft" align="right" valign="top"><a id="gaa8b81ff302c2c897b9b2093434a2cab3" name="gaa8b81ff302c2c897b9b2093434a2cab3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_ROOTCA_RAM</b>&#160;&#160;&#160;( 0x1 )</td></tr>
<tr class="memdesc:gaa8b81ff302c2c897b9b2093434a2cab3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use RootCA certificate which is provided from application. <br /></td></tr>
<tr class="separator:gaa8b81ff302c2c897b9b2093434a2cab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd1282620f4c23953600ffa57124925b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gabd1282620f4c23953600ffa57124925b">CY_SOCKET_SO_ROOTCA_CERTIFICATE_LOCATION</a>&#160;&#160;&#160;(26)</td></tr>
<tr class="memdesc:gabd1282620f4c23953600ffa57124925b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the RootCA certificate location.  <a href="group__group__secure__sockets__macros.html#gabd1282620f4c23953600ffa57124925b">More...</a><br /></td></tr>
<tr class="separator:gabd1282620f4c23953600ffa57124925b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa877a43420e7fd704c8936a5e33cee5b"><td class="memItemLeft" align="right" valign="top"><a id="gaa877a43420e7fd704c8936a5e33cee5b" name="gaa877a43420e7fd704c8936a5e33cee5b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_DEVICE_CERT_KEY_SECURE_STORAGE</b>&#160;&#160;&#160;( 0x0 )</td></tr>
<tr class="memdesc:gaa877a43420e7fd704c8936a5e33cee5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use device certificate and keys which are provisioned. <br /></td></tr>
<tr class="separator:gaa877a43420e7fd704c8936a5e33cee5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7eccf316ffc611b3d1f8addc5213cf9f"><td class="memItemLeft" align="right" valign="top"><a id="ga7eccf316ffc611b3d1f8addc5213cf9f" name="ga7eccf316ffc611b3d1f8addc5213cf9f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_DEVICE_CERT_KEY_RAM</b>&#160;&#160;&#160;( 0x1 )</td></tr>
<tr class="memdesc:ga7eccf316ffc611b3d1f8addc5213cf9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use device certificate and keys which are provided from application. <br /></td></tr>
<tr class="separator:ga7eccf316ffc611b3d1f8addc5213cf9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9425fef6201a37026425cd0049350759"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga9425fef6201a37026425cd0049350759">CY_SOCKET_SO_DEVICE_CERT_KEY_LOCATION</a>&#160;&#160;&#160;(27)</td></tr>
<tr class="memdesc:ga9425fef6201a37026425cd0049350759"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the device certificate and key location.  <a href="group__group__secure__sockets__macros.html#ga9425fef6201a37026425cd0049350759">More...</a><br /></td></tr>
<tr class="separator:ga9425fef6201a37026425cd0049350759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91444208828cd6b96895d64b879513d4"><td class="memItemLeft" align="right" valign="top"><a id="ga91444208828cd6b96895d64b879513d4" name="ga91444208828cd6b96895d64b879513d4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_FLAGS_NONE</b>&#160;&#160;&#160;( 0x0 )</td></tr>
<tr class="memdesc:ga91444208828cd6b96895d64b879513d4"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__group__secure__sockets__functions.html#gaf6ba24a0e4e6eb3c24087938aa3ae021">cy_socket_send()</a> input flags - No flag. <br /></td></tr>
<tr class="separator:ga91444208828cd6b96895d64b879513d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41fcdecad22d4585c47271f11d23a147"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga41fcdecad22d4585c47271f11d23a147">CY_SOCKET_FLAGS_MORE</a>&#160;&#160;&#160;( 0x1 )</td></tr>
<tr class="memdesc:ga41fcdecad22d4585c47271f11d23a147"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__group__secure__sockets__functions.html#gaf6ba24a0e4e6eb3c24087938aa3ae021">cy_socket_send()</a> input flags - The caller indicates that there is additional data to be sent.  <a href="group__group__secure__sockets__macros.html#ga41fcdecad22d4585c47271f11d23a147">More...</a><br /></td></tr>
<tr class="separator:ga41fcdecad22d4585c47271f11d23a147"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa0463c0472f262600893c33d3a40f0a"><td class="memItemLeft" align="right" valign="top"><a id="gaaa0463c0472f262600893c33d3a40f0a" name="gaaa0463c0472f262600893c33d3a40f0a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_FLAGS_RECVFROM_NONE</b>&#160;&#160;&#160;( 0x0 )</td></tr>
<tr class="memdesc:gaaa0463c0472f262600893c33d3a40f0a"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__group__secure__sockets__functions.html#ga29df5cbdaa9de0f324cf947454577727">cy_socket_recvfrom()</a> input flags - No flag. <br /></td></tr>
<tr class="separator:gaaa0463c0472f262600893c33d3a40f0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafaf57e8563c58426b2213dc1a0b8c3be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#gafaf57e8563c58426b2213dc1a0b8c3be">CY_SOCKET_FLAGS_RECVFROM_SRC_FILTER</a>&#160;&#160;&#160;( 0x1 )</td></tr>
<tr class="memdesc:gafaf57e8563c58426b2213dc1a0b8c3be"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__group__secure__sockets__functions.html#ga29df5cbdaa9de0f324cf947454577727">cy_socket_recvfrom()</a> input flags - Used for filtering of input packets.  <a href="group__group__secure__sockets__macros.html#gafaf57e8563c58426b2213dc1a0b8c3be">More...</a><br /></td></tr>
<tr class="separator:gafaf57e8563c58426b2213dc1a0b8c3be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28c6768ca430ef58e12827886fdaf93e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga28c6768ca430ef58e12827886fdaf93e">CY_SOCKET_POLL_READ</a>&#160;&#160;&#160;( 1 )</td></tr>
<tr class="memdesc:ga28c6768ca430ef58e12827886fdaf93e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__group__secure__sockets__functions.html#ga3c548fdcc908089b8ff95ad210f4fb64">cy_socket_poll()</a> input flags - Check for pending data.  <a href="group__group__secure__sockets__macros.html#ga28c6768ca430ef58e12827886fdaf93e">More...</a><br /></td></tr>
<tr class="separator:ga28c6768ca430ef58e12827886fdaf93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf115a841dedd8db5171f5878d9dc4ce6"><td class="memItemLeft" align="right" valign="top"><a id="gaf115a841dedd8db5171f5878d9dc4ce6" name="gaf115a841dedd8db5171f5878d9dc4ce6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_POLL_WRITE</b>&#160;&#160;&#160;( 2 )</td></tr>
<tr class="memdesc:gaf115a841dedd8db5171f5878d9dc4ce6"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="group__group__secure__sockets__functions.html#ga3c548fdcc908089b8ff95ad210f4fb64">cy_socket_poll()</a> input flags - Check whether write is possible. <br /></td></tr>
<tr class="separator:gaf115a841dedd8db5171f5878d9dc4ce6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafde2c0f411fdf3d3756f8bc22d607894"><td class="memItemLeft" align="right" valign="top"><a id="gafde2c0f411fdf3d3756f8bc22d607894" name="gafde2c0f411fdf3d3756f8bc22d607894"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_SHUT_RD</b>&#160;&#160;&#160;( 0x1 )</td></tr>
<tr class="memdesc:gafde2c0f411fdf3d3756f8bc22d607894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Option for the "how" parameter of <a class="el" href="group__group__secure__sockets__functions.html#ga5d118a0eaac0384adc34fccfe89c2b8f">cy_socket_shutdown()</a> - Disables further receive operations. <br /></td></tr>
<tr class="separator:gafde2c0f411fdf3d3756f8bc22d607894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6eb71ea24b21ec3450d715592fac3f19"><td class="memItemLeft" align="right" valign="top"><a id="ga6eb71ea24b21ec3450d715592fac3f19" name="ga6eb71ea24b21ec3450d715592fac3f19"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_SHUT_WR</b>&#160;&#160;&#160;( 0x2 )</td></tr>
<tr class="memdesc:ga6eb71ea24b21ec3450d715592fac3f19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Option for the "how" parameter of <a class="el" href="group__group__secure__sockets__functions.html#ga5d118a0eaac0384adc34fccfe89c2b8f">cy_socket_shutdown()</a> - Disables further send operations. <br /></td></tr>
<tr class="separator:ga6eb71ea24b21ec3450d715592fac3f19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30cc929ab95e2820b193a7d1b246baf5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__secure__sockets__macros.html#ga30cc929ab95e2820b193a7d1b246baf5">CY_SOCKET_SHUT_RDWR</a>&#160;&#160;&#160;( <a class="el" href="group__group__secure__sockets__macros.html#gafde2c0f411fdf3d3756f8bc22d607894">CY_SOCKET_SHUT_RD</a> | <a class="el" href="group__group__secure__sockets__macros.html#ga6eb71ea24b21ec3450d715592fac3f19">CY_SOCKET_SHUT_WR</a> )</td></tr>
<tr class="memdesc:ga30cc929ab95e2820b193a7d1b246baf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Option for the "how" parameter of <a class="el" href="group__group__secure__sockets__functions.html#ga5d118a0eaac0384adc34fccfe89c2b8f">cy_socket_shutdown()</a> - Disables further send and receive.  <a href="group__group__secure__sockets__macros.html#ga30cc929ab95e2820b193a7d1b246baf5">More...</a><br /></td></tr>
<tr class="separator:ga30cc929ab95e2820b193a7d1b246baf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4984a6aa9c962e897bfeaf3e948b23eb"><td class="memItemLeft" align="right" valign="top"><a id="ga4984a6aa9c962e897bfeaf3e948b23eb" name="ga4984a6aa9c962e897bfeaf3e948b23eb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_SOCKET_NEVER_TIMEOUT</b>&#160;&#160;&#160;( 0xFFFFFFFFU )</td></tr>
<tr class="memdesc:ga4984a6aa9c962e897bfeaf3e948b23eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Never timeout. <br /></td></tr>
<tr class="separator:ga4984a6aa9c962e897bfeaf3e948b23eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga1fcbd0b7ab0d808a7d0a88eaffe04e00" name="ga1fcbd0b7ab0d808a7d0a88eaffe04e00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1fcbd0b7ab0d808a7d0a88eaffe04e00">&#9670;&nbsp;</a></span>CY_SOCKET_SO_RCVTIMEO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_RCVTIMEO&#160;&#160;&#160;( 0 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the receive timeout in milliseconds. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the timeout value in uint32_t type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a></li>
</ul>
<dl class="section note"><dt>Note</dt><dd>Configuring the receive timeout value on a server socket impacts the <a class="el" href="group__group__secure__sockets__functions.html#ga49ede56f180b2bb3e367924f535bb300">cy_socket_accept()</a> API function. If the client does not send a connect request within the timeout, <a class="el" href="group__group__secure__sockets__functions.html#ga49ede56f180b2bb3e367924f535bb300">cy_socket_accept()</a> returns the <a class="el" href="group__group__secure__sockets__results.html#gac5f5fb81bfb98a38b7b36981f1be2ac7">CY_RSLT_MODULE_SECURE_SOCKETS_TIMEOUT</a> error. </dd></dl>

</div>
</div>
<a id="ga6d99d154509bf7293f13ac97b7fd5b68" name="ga6d99d154509bf7293f13ac97b7fd5b68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6d99d154509bf7293f13ac97b7fd5b68">&#9670;&nbsp;</a></span>CY_SOCKET_SO_SNDTIMEO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_SNDTIMEO&#160;&#160;&#160;( 1 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the send timeout in milliseconds. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding timeout value in uint32_t type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="ga87ddcdfd412485a722122a56495e46c6" name="ga87ddcdfd412485a722122a56495e46c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga87ddcdfd412485a722122a56495e46c6">&#9670;&nbsp;</a></span>CY_SOCKET_SO_NONBLOCK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_NONBLOCK&#160;&#160;&#160;( 2 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the blocking status of socket API function calls. </p>
<p >This option is currently not supported; will be supported in a future release.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the blocking status in uint8_t type. Value "1" indicates blocking status to non-blocking. Value "0" indicates blocking status to blocking.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="ga53ca01abc49daa408f8785feb114b5f1" name="ga53ca01abc49daa408f8785feb114b5f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga53ca01abc49daa408f8785feb114b5f1">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TCP_KEEPALIVE_ENABLE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TCP_KEEPALIVE_ENABLE&#160;&#160;&#160;( 3 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable/disable the TCP keepalive mechanism on the socket. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the keepalive configuration in int type. Value "1" indicates enable TCP keepalive. Value "0" indicates disable TCP keepalive.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="ga35dd20206a7d72552a8d14802142a277" name="ga35dd20206a7d72552a8d14802142a277"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga35dd20206a7d72552a8d14802142a277">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TCP_KEEPALIVE_INTERVAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TCP_KEEPALIVE_INTERVAL&#160;&#160;&#160;( 4 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the interval in milliseconds between TCP keepalive probes. </p>
<p >Keepalives are sent only when the feature is enabled with the <a class="el" href="group__group__secure__sockets__macros.html#ga53ca01abc49daa408f8785feb114b5f1">CY_SOCKET_SO_TCP_KEEPALIVE_ENABLE</a> socket option.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding value of the keepalive interval in uint32_t type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gab245bb6040c3f680cc38e39e9e3a97d7">CY_SOCKET_SOL_TCP</a> </li>
</ul>

</div>
</div>
<a id="ga6dac9d634c0ba0cfee63027dec8f7497" name="ga6dac9d634c0ba0cfee63027dec8f7497"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6dac9d634c0ba0cfee63027dec8f7497">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TCP_KEEPALIVE_COUNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TCP_KEEPALIVE_COUNT&#160;&#160;&#160;( 5 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the maximum number of TCP keepalive probes to be sent before giving up and killing the connection if no response is obtained from the other end. </p>
<p >Keepalives are sent only when the feature is enabled with the <a class="el" href="group__group__secure__sockets__macros.html#ga53ca01abc49daa408f8785feb114b5f1">CY_SOCKET_SO_TCP_KEEPALIVE_ENABLE</a> socket option.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the value of maximum keepalive probe count in uint32_t type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gab245bb6040c3f680cc38e39e9e3a97d7">CY_SOCKET_SOL_TCP</a> </li>
</ul>

</div>
</div>
<a id="gac536732ce0003c81a088654c90a0d2a4" name="gac536732ce0003c81a088654c90a0d2a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac536732ce0003c81a088654c90a0d2a4">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TCP_KEEPALIVE_IDLE_TIME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TCP_KEEPALIVE_IDLE_TIME&#160;&#160;&#160;( 6 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the duration for which the connection needs to be idle (in milliseconds) before TCP begins sending out keepalive probes. </p>
<p >Keepalive probes are sent only when the feature is enabled with <a class="el" href="group__group__secure__sockets__macros.html#ga53ca01abc49daa408f8785feb114b5f1">CY_SOCKET_SO_TCP_KEEPALIVE_ENABLE</a> socket option.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the value of keepalive idle time in uint32_t type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gab245bb6040c3f680cc38e39e9e3a97d7">CY_SOCKET_SOL_TCP</a> </li>
</ul>

</div>
</div>
<a id="ga7fd0bff2f890ddab81f7847a1862c325" name="ga7fd0bff2f890ddab81f7847a1862c325"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7fd0bff2f890ddab81f7847a1862c325">&#9670;&nbsp;</a></span>CY_SOCKET_SO_CONNECT_REQUEST_CALLBACK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_CONNECT_REQUEST_CALLBACK&#160;&#160;&#160;( 7 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the callback to be called upon an incoming client connection request. </p>
<p >This option is supported only for TCP server sockets. The callback function registered with this option runs in the secure sockets worker thread context. This option is not supported in <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer to <a class="el" href="structcy__socket__opt__callback__t.html">cy_socket_opt_callback_t</a>. Passing the NULL value de-registers the registered callback.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="gaa05dc49b1682f0682d1a4066c641512d" name="gaa05dc49b1682f0682d1a4066c641512d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa05dc49b1682f0682d1a4066c641512d">&#9670;&nbsp;</a></span>CY_SOCKET_SO_RECEIVE_CALLBACK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_RECEIVE_CALLBACK&#160;&#160;&#160;( 8 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the callback to be called when the socket has received data. </p>
<p >The callback function registered with this option runs in the secure sockets worker thread context. This option is not supported in <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>.</p>
<dl class="section note"><dt>Note</dt><dd>The registered receive callback function is invoked when a network packet is received from the network stack; therefore, this callback is invoked per network packet. If the data in the packet is consumed partially, the secure sockets library doesn't provide another callback for the remaining data in that packet. Therefore, it is recommended to read the entire network packet by providing a buffer of MTU size (1460 bytes) to the <a class="el" href="group__group__secure__sockets__functions.html#gaeb1269bd36384293539dc749095412f7">cy_socket_recv</a> function.</dd></dl>
<p>Arguments related to this optname:</p><ul>
<li>Option value: Pointer to <a class="el" href="structcy__socket__opt__callback__t.html">cy_socket_opt_callback_t</a>. Passing the NULL value de-registers the registered callback.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="ga4a3e35fbb5f577a38a6eafb7d693134a" name="ga4a3e35fbb5f577a38a6eafb7d693134a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4a3e35fbb5f577a38a6eafb7d693134a">&#9670;&nbsp;</a></span>CY_SOCKET_SO_DISCONNECT_CALLBACK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_DISCONNECT_CALLBACK&#160;&#160;&#160;( 9 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the callback to be called when the socket is disconnected. </p>
<p >This option is supported only for TCP sockets. The callback function registered with this option runs in the secure sockets worker thread context. This option is not supported in <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>.</p>
<dl class="section note"><dt>Note</dt><dd>This callback is invoked whenever the peer disconnects. In the callback, <a class="el" href="group__group__secure__sockets__functions.html#ga97476da4dcc2f3a411c35b741bf098cc">cy_socket_disconnect</a> should be invoked. This callback will not be invoked during self-initiated disconnections, i.e., when <a class="el" href="group__group__secure__sockets__functions.html#ga97476da4dcc2f3a411c35b741bf098cc">cy_socket_disconnect</a> is called by self.</dd></dl>
<p>Arguments related to this optname:</p><ul>
<li>Option value: Pointer to <a class="el" href="structcy__socket__opt__callback__t.html">cy_socket_opt_callback_t</a>. Passing the NULL value de-registers the registered callback.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="gac16c4875566176015ef0769b8950f62a" name="gac16c4875566176015ef0769b8950f62a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac16c4875566176015ef0769b8950f62a">&#9670;&nbsp;</a></span>CY_SOCKET_SO_NWRITE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_NWRITE&#160;&#160;&#160;( 10 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of bytes pending to be sent by the protocol. </p>
<p >This option is used only with <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>. This option is currently not supported; will be supported in a future release.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer to the uint32_t type into which the API function fills the number of bytes.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="ga2427b8a6b4a20aca2232c6874ff6867b" name="ga2427b8a6b4a20aca2232c6874ff6867b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2427b8a6b4a20aca2232c6874ff6867b">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TCP_USER_TIMEOUT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TCP_USER_TIMEOUT&#160;&#160;&#160;( 11 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the user timeout value that controls the duration transmitted data may remain unacknowledged before a connection is forcefully closed. </p>
<p >This option is currently not supported; will be supported in a future release.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the timeout value in uint32_t type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gab245bb6040c3f680cc38e39e9e3a97d7">CY_SOCKET_SOL_TCP</a> </li>
</ul>

</div>
</div>
<a id="ga5bdbb8938476af809b4af8f5f7c2da2d" name="ga5bdbb8938476af809b4af8f5f7c2da2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5bdbb8938476af809b4af8f5f7c2da2d">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TRUSTED_ROOTCA_CERTIFICATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TRUSTED_ROOTCA_CERTIFICATE&#160;&#160;&#160;( 12 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a RootCA certificate specific to the socket, in PEM format. </p>
<p >By default, the RootCA certificates loaded with <a class="el" href="group__group__cy__tls__functions.html#ga186918ab7a9c658fb7e3cc6f00e0d6d9">cy_tls_load_global_root_ca_certificates</a> are used to validate the peer's certificate. If a specific RootCA needs to be used for a socket, this socket option should be used to configure a connection-specific RootCA.</p>
<p >This option is not supported in <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer to a buffer (char array) holding the certificate data.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga87878a7761a845f17f24f5e52c73f61f">CY_SOCKET_SOL_TLS</a> </li>
</ul>

</div>
</div>
<a id="gafa0ac839774a33feeb037dbb0c449cc3" name="gafa0ac839774a33feeb037dbb0c449cc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafa0ac839774a33feeb037dbb0c449cc3">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TLS_IDENTITY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TLS_IDENTITY&#160;&#160;&#160;( 13 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the TLS identity. </p>
<p >This option is not supported in <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer (type void) returned by the <a class="el" href="group__group__cy__tls__functions.html#ga3d2408681bbcea3b869cb5ae21cd0d5e">cy_tls_create_identity</a> function.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga87878a7761a845f17f24f5e52c73f61f">CY_SOCKET_SOL_TLS</a> </li>
</ul>

</div>
</div>
<a id="gaa3f2b7a10cc58ae014640a8547949974" name="gaa3f2b7a10cc58ae014640a8547949974"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa3f2b7a10cc58ae014640a8547949974">&#9670;&nbsp;</a></span>CY_SOCKET_SO_SERVER_NAME_INDICATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_SERVER_NAME_INDICATION&#160;&#160;&#160;( 14 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the hostname to be used for the TLS server name indication (SNI) extension of TLS ClientHello. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer to the stream of bytes (char array) holding the hostname.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga87878a7761a845f17f24f5e52c73f61f">CY_SOCKET_SOL_TLS</a> </li>
</ul>

</div>
</div>
<a id="ga6bb302019f176eed7e436157fbc085f6" name="ga6bb302019f176eed7e436157fbc085f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6bb302019f176eed7e436157fbc085f6">&#9670;&nbsp;</a></span>CY_SOCKET_SO_ALPN_PROTOCOLS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_ALPN_PROTOCOLS&#160;&#160;&#160;( 15 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the application protocol list to be included in TLS ClientHello. </p>
<p >This option is not supported in <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer to the stream of bytes (char array) with protocol names separated by comma. e.g., "h2-16,h2-15,h2-14,h2,spdy/3.1,http/1.1"</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga87878a7761a845f17f24f5e52c73f61f">CY_SOCKET_SOL_TLS</a> </li>
</ul>

</div>
</div>
<a id="ga9ce4ab8fca2ff7306f05f7433835f394" name="ga9ce4ab8fca2ff7306f05f7433835f394"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ce4ab8fca2ff7306f05f7433835f394">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TLS_AUTH_MODE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TLS_AUTH_MODE&#160;&#160;&#160;( 16 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the TLS authenticate mode. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the TLS authentication mode value of type <a class="el" href="group__group__secure__sockets__enums.html#gaf0599f554a1154ae83b4f587520fa705">cy_socket_tls_auth_mode_t</a>.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga87878a7761a845f17f24f5e52c73f61f">CY_SOCKET_SOL_TLS</a> </li>
</ul>

</div>
</div>
<a id="ga0f0041158626e01c411e117ca6e2c5d5" name="ga0f0041158626e01c411e117ca6e2c5d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0f0041158626e01c411e117ca6e2c5d5">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TLS_MFL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TLS_MFL&#160;&#160;&#160;( 17 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the TLS maximum fragment length. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the maximum fragment length value in uint32_t type. Allowed values are 512, 1024, 2048, 4096 per <a href="https://tools.ietf.org/html/rfc6066#section-4">https://tools.ietf.org/html/rfc6066#section-4</a>.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga87878a7761a845f17f24f5e52c73f61f">CY_SOCKET_SOL_TLS</a> </li>
</ul>

</div>
</div>
<a id="ga6eb3fccf457611f775c37e58442449b3" name="ga6eb3fccf457611f775c37e58442449b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6eb3fccf457611f775c37e58442449b3">&#9670;&nbsp;</a></span>CY_SOCKET_SO_JOIN_MULTICAST_GROUP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_JOIN_MULTICAST_GROUP&#160;&#160;&#160;( 18 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Join an IPv4 (or) IPv6 multicast group. </p>
<p >This option is not supported in <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>.</p>
<dl class="section note"><dt>Note</dt><dd><ol type="1">
<li>This implementation supports up to 10 multicast groups in total, and across the sockets. This is due to the underlying Wi-Fi host driver (WHD) limitation.</li>
<li>The maximum number of IPv4 and IPv6 multicast groups to be supported can be configured using the configuration options provided by the network stack. However, if the total count of both IPv4 and IPv6 multicast groups is more than 10, any attempts to join a new multicast group will fail.</li>
</ol>
</dd></dl>
<p>Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the multicast group address and local IP address values in <a class="el" href="structcy__socket__ip__mreq__t.html">cy_socket_ip_mreq_t</a> structure type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga6158e1e598a55be5e42d5db5f921d13e">CY_SOCKET_SOL_IP</a> </li>
</ul>

</div>
</div>
<a id="gaa3b9e9b88b1affecbb653fb1375771e3" name="gaa3b9e9b88b1affecbb653fb1375771e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa3b9e9b88b1affecbb653fb1375771e3">&#9670;&nbsp;</a></span>CY_SOCKET_SO_LEAVE_MULTICAST_GROUP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_LEAVE_MULTICAST_GROUP&#160;&#160;&#160;( 19 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Leave an IPv4 (or) IPv6 multicast group. </p>
<p >This option is not supported in <a class="el" href="group__group__secure__sockets__functions.html#gaa417ff64790869ca839134b636d0f473">cy_socket_getsockopt</a>.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the multicast group address and local IP address values in <a class="el" href="structcy__socket__ip__mreq__t.html">cy_socket_ip_mreq_t</a> structure type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga6158e1e598a55be5e42d5db5f921d13e">CY_SOCKET_SOL_IP</a> </li>
</ul>

</div>
</div>
<a id="gac562af7498a20fba804f7d14ce8a059c" name="gac562af7498a20fba804f7d14ce8a059c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac562af7498a20fba804f7d14ce8a059c">&#9670;&nbsp;</a></span>CY_SOCKET_SO_IP_MULTICAST_TTL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_IP_MULTICAST_TTL&#160;&#160;&#160;( 20 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the time-to-live value of outgoing multicast packets for this socket. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the time-to-live value in uint8_t type. The value of this socket option should be in the range 0 &lt;= value &lt;= 255. For IPv4, this value is measured in seconds; for IPv6, it is measured in hop limit.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga6158e1e598a55be5e42d5db5f921d13e">CY_SOCKET_SOL_IP</a> </li>
</ul>

</div>
</div>
<a id="gaed20b264dc3c370f3136ef8923f5ad89" name="gaed20b264dc3c370f3136ef8923f5ad89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaed20b264dc3c370f3136ef8923f5ad89">&#9670;&nbsp;</a></span>CY_SOCKET_SO_BROADCAST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_BROADCAST&#160;&#160;&#160;( 21 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable/disable sending and receiving broadcast messages on the socket. </p>
<dl class="section note"><dt>Note</dt><dd>Use this socket option only when broadcast filter is enabled in the network stack configuration. If disabled, broadcast messages cannot be controlled with this socket option.</dd></dl>
<p>Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the uint8_t value. Value "1" enables broadcast messages. Value "0" disables broadcast messages.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="ga9bcc73d3e5fd22f8cceb98f57507703d" name="ga9bcc73d3e5fd22f8cceb98f57507703d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9bcc73d3e5fd22f8cceb98f57507703d">&#9670;&nbsp;</a></span>CY_SOCKET_SO_BINDTODEVICE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_BINDTODEVICE&#160;&#160;&#160;( 22 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the network interface to be used for sending and receiving data on the socket. </p>
<p >This socket option can be called more than once for a socket to change the interface it's bound to.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the interface type value in <a class="el" href="group__group__secure__sockets__enums.html#ga6a02f37745fb60c714f996c4b6b9d4f7">cy_socket_interface_t</a> type.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="gacaf74e4db4c47e33cf258b1e83c4f3eb" name="gacaf74e4db4c47e33cf258b1e83c4f3eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacaf74e4db4c47e33cf258b1e83c4f3eb">&#9670;&nbsp;</a></span>CY_SOCKET_SO_IP_TOS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_IP_TOS&#160;&#160;&#160;( 23 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the Type-Of-Service (TOS) field that is sent with every IP packet originating from this socket. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the type of service value in uint8_t type. The value of this socket option should be in the range 0 &lt;= value &lt;= 255.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga6158e1e598a55be5e42d5db5f921d13e">CY_SOCKET_SOL_IP</a> </li>
</ul>

</div>
</div>
<a id="ga249a390f7ea3ad7f8db90bac96cd0357" name="ga249a390f7ea3ad7f8db90bac96cd0357"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga249a390f7ea3ad7f8db90bac96cd0357">&#9670;&nbsp;</a></span>CY_SOCKET_SO_BYTES_AVAILABLE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_BYTES_AVAILABLE&#160;&#160;&#160;( 24 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of bytes immediately available for reading. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer to the uint32_t type into which the API function fills the number of bytes available for reading.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="gace8deb2d476b5a1bf57d1fffbdbc36d0" name="gace8deb2d476b5a1bf57d1fffbdbc36d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gace8deb2d476b5a1bf57d1fffbdbc36d0">&#9670;&nbsp;</a></span>CY_SOCKET_SO_TCP_NODELAY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_TCP_NODELAY&#160;&#160;&#160;( 25 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable/disable TCP no delay socket option. </p>
<p >If this option is enabled, Nagle's algorithm is disabled. If disabled, data packets are sent as soon as possible, even if there is only a small amount of data. If enabled, data is buffered until there is a sufficient amount to send out.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the uint8_t value. Value "0" enables Nagle's algorithm. Value "1" disables Nagle's algorithm.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gab245bb6040c3f680cc38e39e9e3a97d7">CY_SOCKET_SOL_TCP</a> </li>
</ul>

</div>
</div>
<a id="ga22b4a6f9f25c1815f016dcc7ceb17a16" name="ga22b4a6f9f25c1815f016dcc7ceb17a16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga22b4a6f9f25c1815f016dcc7ceb17a16">&#9670;&nbsp;</a></span>CY_SOCKET_SO_LOCALADDR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_LOCALADDR&#160;&#160;&#160;( 26 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the local address details for the socket. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer to the <a class="el" href="structcy__socket__sockaddr__t.html" title="Socket Address.">cy_socket_sockaddr_t</a> type into which the API function fills the local address and port number.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="ga8d1184c6afa6cfe38f27dd22d8dc9e6e" name="ga8d1184c6afa6cfe38f27dd22d8dc9e6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8d1184c6afa6cfe38f27dd22d8dc9e6e">&#9670;&nbsp;</a></span>CY_SOCKET_SO_PEERADDR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_PEERADDR&#160;&#160;&#160;( 27 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the peer address details for the socket. </p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer to the <a class="el" href="structcy__socket__sockaddr__t.html" title="Socket Address.">cy_socket_sockaddr_t</a> type into which the API function fills the peer address and port number.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#gaf36b6f0f1bc53927d148746fedad7149">CY_SOCKET_SOL_SOCKET</a> </li>
</ul>

</div>
</div>
<a id="gabd1282620f4c23953600ffa57124925b" name="gabd1282620f4c23953600ffa57124925b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd1282620f4c23953600ffa57124925b">&#9670;&nbsp;</a></span>CY_SOCKET_SO_ROOTCA_CERTIFICATE_LOCATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_ROOTCA_CERTIFICATE_LOCATION&#160;&#160;&#160;(26)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the RootCA certificate location. </p>
<p >If CY_SECURE_SOCKETS_PKCS_SUPPORT flag is enabled, RootCA will be read from the secure element by default. To override default behaviour, set this socket option.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the uint8_t value. Value <a class="el" href="group__group__secure__sockets__macros.html#gaf28eb4b38ee21e41c56f26cae8431439">CY_SOCKET_ROOTCA_SECURE_STORAGE</a> reads rootCA certificate from secure element. Value <a class="el" href="group__group__secure__sockets__macros.html#gaa8b81ff302c2c897b9b2093434a2cab3">CY_SOCKET_ROOTCA_RAM</a> reads rootCA certificate from RAM loaded through TLS API</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga87878a7761a845f17f24f5e52c73f61f">CY_SOCKET_SOL_TLS</a> </li>
</ul>

</div>
</div>
<a id="ga9425fef6201a37026425cd0049350759" name="ga9425fef6201a37026425cd0049350759"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9425fef6201a37026425cd0049350759">&#9670;&nbsp;</a></span>CY_SOCKET_SO_DEVICE_CERT_KEY_LOCATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SO_DEVICE_CERT_KEY_LOCATION&#160;&#160;&#160;(27)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the device certificate and key location. </p>
<p >If CY_SECURE_SOCKETS_PKCS_SUPPORT flag is enabled, the device certificate and keys will be read from the secure element by default. To override default behaviour, set this socket option.</p>
<p >Arguments related to this optname:</p><ul>
<li>Option value: Pointer holding the uint8_t value. Value <a class="el" href="group__group__secure__sockets__macros.html#gaa877a43420e7fd704c8936a5e33cee5b">CY_SOCKET_DEVICE_CERT_KEY_SECURE_STORAGE</a> reads the device certificate and key from the secure element. Value <a class="el" href="group__group__secure__sockets__macros.html#ga7eccf316ffc611b3d1f8addc5213cf9f">CY_SOCKET_DEVICE_CERT_KEY_RAM</a> reads the device certificate and key from RAM loaded through the TLS API.</li>
<li>Level: <a class="el" href="group__group__secure__sockets__macros.html#ga87878a7761a845f17f24f5e52c73f61f">CY_SOCKET_SOL_TLS</a> </li>
</ul>

</div>
</div>
<a id="ga41fcdecad22d4585c47271f11d23a147" name="ga41fcdecad22d4585c47271f11d23a147"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga41fcdecad22d4585c47271f11d23a147">&#9670;&nbsp;</a></span>CY_SOCKET_FLAGS_MORE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_FLAGS_MORE&#160;&#160;&#160;( 0x1 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="group__group__secure__sockets__functions.html#gaf6ba24a0e4e6eb3c24087938aa3ae021">cy_socket_send()</a> input flags - The caller indicates that there is additional data to be sent. </p>
<p >This flag is applicable only for TCP connections. Caller will not set this flag for the last data chunk to be sent. </p>

</div>
</div>
<a id="gafaf57e8563c58426b2213dc1a0b8c3be" name="gafaf57e8563c58426b2213dc1a0b8c3be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafaf57e8563c58426b2213dc1a0b8c3be">&#9670;&nbsp;</a></span>CY_SOCKET_FLAGS_RECVFROM_SRC_FILTER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_FLAGS_RECVFROM_SRC_FILTER&#160;&#160;&#160;( 0x1 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="group__group__secure__sockets__functions.html#ga29df5cbdaa9de0f324cf947454577727">cy_socket_recvfrom()</a> input flags - Used for filtering of input packets. </p>
<p >Packets are received only from the user-specified source address. </p>

</div>
</div>
<a id="ga28c6768ca430ef58e12827886fdaf93e" name="ga28c6768ca430ef58e12827886fdaf93e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga28c6768ca430ef58e12827886fdaf93e">&#9670;&nbsp;</a></span>CY_SOCKET_POLL_READ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_POLL_READ&#160;&#160;&#160;( 1 )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="group__group__secure__sockets__functions.html#ga3c548fdcc908089b8ff95ad210f4fb64">cy_socket_poll()</a> input flags - Check for pending data. </p>
<p ><br  />
 </p>

</div>
</div>
<a id="ga30cc929ab95e2820b193a7d1b246baf5" name="ga30cc929ab95e2820b193a7d1b246baf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga30cc929ab95e2820b193a7d1b246baf5">&#9670;&nbsp;</a></span>CY_SOCKET_SHUT_RDWR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_SOCKET_SHUT_RDWR&#160;&#160;&#160;( <a class="el" href="group__group__secure__sockets__macros.html#gafde2c0f411fdf3d3756f8bc22d607894">CY_SOCKET_SHUT_RD</a> | <a class="el" href="group__group__secure__sockets__macros.html#ga6eb71ea24b21ec3450d715592fac3f19">CY_SOCKET_SHUT_WR</a> )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Option for the "how" parameter of <a class="el" href="group__group__secure__sockets__functions.html#ga5d118a0eaac0384adc34fccfe89c2b8f">cy_socket_shutdown()</a> - Disables further send and receive. </p>
<p >operations. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Secure Sockets</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
